software design hardware web design analog engineers tools engineer cad ibist fault software eda software development ic design engineering asic manufacturing take computer design